package com.example.vendingmachine.service;

import com.example.vendingmachine.dto.PointDTO;
import com.example.vendingmachine.dto.PointQuery;
import com.example.vendingmachine.entity.Point;
import com.github.pagehelper.PageInfo;

/**
 * 点位服务接口
 */
public interface PointService {
    /**
     * 分页查询点位列表
     */
    PageInfo<Point> listPoints(PointQuery query);

    /**
     * 根据ID查询点位
     */
    Point getPointById(Long id);

    /**
     * 新增点位
     */
    Long createPoint(PointDTO pointDTO);

    /**
     * 更新点位
     */
    void updatePoint(PointDTO pointDTO);

    /**
     * 删除点位
     */
    void deletePoint(Long id);

    /**
     * 更新点位状态
     */
    void updatePointStatus(Long id, String status);

    /**
     * 检查区域下是否有点位
     */
    boolean hasPointsByAreaId(Long areaId);
} 